
package com.balloon.logic;

import java.util.ArrayList;

/**
 *
 * @author all group
 * class to store the information of the city
 */
public class City implements IBalloon {

    private String cityName;
    private int cityRank;
    private String cityLink;
    private StringBuffer cityComments;
    private double locationX;
    private double locationY;
    private int cityID;
    private String cityDescription;
    private ArrayList<Sightspot> sightspots = new ArrayList<Sightspot>();
    private ArrayList<Property> property = new ArrayList<Property>();
    private ArrayList<String> cityUsefulLinks = new ArrayList<String>();

    /**
     *
     * @param cityName
     * @param locationX
     * @param locationY
     * @param cityDescription
     */
    public City(String cityName, double locationX, double locationY, String cityDescription) {
        this.cityName = cityName;
        this.locationX = locationX;
        this.locationY = locationY;
        this.cityDescription = cityDescription;
    }

    /**
     *
     * @param cityName
     */
    public City(String cityName) {
        this.cityName = cityName;
    }

    /**
     * method to get the rank of the city
     * @return
     */
    public int getRank() {
        return cityRank;
    }

    /**
     * method to get the comments
     * @return the comments
     */
    public StringBuffer getComments() {
        return cityComments;
    }

    /**
     * method to get the link
     * @return cityLink
     */
    public String getLink() {
        return cityLink;
    }

    /**
     * method to get the  X parameter of the location
     * @return locationX
     */
    public double getLocationX() {
        return locationX;
    }

    /**
     * method to get the  Y parameter of the location
     * @return locationY
     */
    public double getLocationY() {
        return locationY;
    }

    /**
     * method to get the  city name
     * @return cityName
     */
    public String getName() {
        return this.cityName;
    }

    /**
     * method to get the  city id
     * @return cityID
     */
    public int getcityID() {
        return this.cityID;
    }

    /**
     * method to set the  city rank
     * @return rating
     */
    public void setRank(int rating) {
        cityRank = rating;
    }

    /**
     * method to set the  city id
     * @return cityid
     */
    public void setcityID(int cityid) {
        cityID = cityid;
    }

    /**
     * method to get the description
     * @return cityDescription
     */
    public String getDescription() {
        return cityDescription;
    }

    /**
     * method to set the x parameter of location
     * @return
     */
    public void setLocationX(double locationX) {
        this.locationX = locationX;
    }

    /**
     * method to set the  y parameter of location
     * @return
     */
    public void setLocationY(double locationY) {
        this.locationY = locationY;
    }

    /**
     * method to get the sightspots of the city
     * @return sightspots
     */
    public ArrayList<Sightspot> getSightspots() {
        return sightspots;
    }

    /**
     * method to get the properties of the city
     * @return property
     */
    public ArrayList<Property> getProperties() {
        return property;
    }

    /**
     * method to add the sightspots to the city
     * @return
     */
    public void addSightspot(Sightspot sightspot) {
        sightspots.add(sightspot);
    }

    /**
     * method to add the property to the city
     * @return
     */
    public void addProperty(Property property1) {
        property.add(property1);
    }

    /**
     * method to get useful link of the city
     * @return cityUsefulLinks
     */
    public ArrayList<String> getCityUsefulLinks() {
        return cityUsefulLinks;
    }

    /**
     * method to set useful link of the city
     * @return
     */
    public void setCountryUsefulLinks(String website, String description) {
        cityUsefulLinks.add(website);
        cityUsefulLinks.add(description);
    }
}
